package cn.b.sky.mes.cm.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import cn.b.sky.mes.cm.model.ProcessComponent;

public interface ProcessComponentDao {
  /**
   * 
   * <strong>Title : selectProcessComponentByProcessOperationId<br></strong>
   * <strong>Description : </strong>获取工艺工序组件<br> 
   * <strong>Create on : 2015-9-29 下午4:45:19<br></strong>
   * <p>
   * @param id
   * @return
   * List<ProcessComponent>
   * @throws 
   * @author lidapeng<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  public List<ProcessComponent> selectProcessComponentByProcessOperationId(Integer id);

  /**
   * 
   * <strong>Title : selectProcessComponentByPk<br></strong>
   * <strong>Description : </strong>通过pk查询组件<br> 
   * <strong>Create on : 2015-10-16 下午3:31:08<br></strong>
   * <p>
   * @param popId
   * @param componentCode
   * @return
   * ProcessComponent
   * @throws 
   * @author lidapeng<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  public ProcessComponent selectProcessComponentByPk(@Param("popId") Integer popId,
      @Param("componentCode") String componentCode);

  /**
   * 
   * <strong>Title : insertProcessComponent<br></strong>
   * <strong>Description : </strong>保存工艺工序组件<br> 
   * <strong>Create on : 2015-9-29 下午4:46:11<br></strong>
   * <p>
   * @param component
   * void
   * @throws 
   * @author lidapeng<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  public void insertProcessComponent(ProcessComponent component);

  /**
   * 
   * <strong>Title : updateProcessComponent<br></strong>
   * <strong>Description : </strong>修改组件<br> 
   * <strong>Create on : 2015-10-16 下午3:31:45<br></strong>
   * <p>
   * @param component
   * void
   * @throws 
   * @author lidapeng<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  public void updateProcessComponent(ProcessComponent component);

  /**
   * 
   * <strong>Title : deleteProcessComponentByPk<br></strong>
   * <strong>Description : </strong>删除单个工艺工序组件<br> 
   * <strong>Create on : 2015-9-29 下午4:46:42<br></strong>
   * <p>
   * @param processOperationId
   * @param componentCode
   * void
   * @throws 
   * @author lidapeng<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  public void deleteProcessComponentByPk(@Param("processOperationId") Integer processOperationId,
      @Param("componentCode") String componentCode);

  /**
   * 
   * <strong>Title : deleteProcessComponentByProcessOperationId<br></strong>
   * <strong>Description : </strong>删除某一类工艺工序组件，删除工艺工序的时候使用<br> 
   * <strong>Create on : 2015-9-29 下午4:47:03<br></strong>
   * <p>
   * @param id
   * void
   * @throws 
   * @author lidapeng<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  public void deleteProcessComponentByProcessOperationId(Integer id);
}
